package com.rc.saas.mini.model.rc;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.rc.saas.mini.common.base.BaseModel;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * @Description 
 * @Author  
 * @Date: 2022-08-09
 */

@ApiModel(value=" rc_member_gain_grade_setting ", description=" 会员权益档位设置表（会员充值赠送权益金规则表） ")
public class RcMemberGainGradeSetting extends BaseModel{ 

    @ApiModelProperty(value = "权益档位ID")
    private Long gainGradeId;
 
    @ApiModelProperty(value = "权益ID,一条权益多条档位ID")
    private Long memberGainId;
 
    @ApiModelProperty(value = "//废弃--权益类型(0：充值消费折扣,1：充值赠送金额，2：生日礼遇)")
    private String gainType;
 
    @ApiModelProperty(value = "档位折扣")
    private BigDecimal discountAmount;
 
    @ApiModelProperty(value = "满减的订单金额")
    private BigDecimal useRequireAmount;
 
    @ApiModelProperty(value = "满减的优惠金额")
    private BigDecimal reducedAmount;
 
    @ApiModelProperty(value = "创建人")
    private String createdBy;
 
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createdTime;
 
    @ApiModelProperty(value = "null")
    private String lastUpdatedBy;
 
    @ApiModelProperty(value = "null")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date lastUpdatedTime;
 
    @ApiModelProperty(value = "档位顺序id(可有可无)")
    private Integer settingSort;
 
    @ApiModelProperty(value = "档位类型(0:充值消费档，1充值权益档，)")
    private String settingType;
 
    @ApiModelProperty(value = "累计消费满N元可用")
    private BigDecimal consumeUseAmount;
 
    @ApiModelProperty(value = "单次充值金额")
    private BigDecimal rechargeAmount;
 
    @ApiModelProperty(value = "单次赠送权益金")
    private BigDecimal gainAmount;
 
    public Long getGainGradeId() {
        return gainGradeId;
    }

    public void setGainGradeId(Long gainGradeId) {
        this.gainGradeId = gainGradeId;
    }

    public Long getMemberGainId() {
        return memberGainId;
    }

    public void setMemberGainId(Long memberGainId) {
        this.memberGainId = memberGainId;
    }

    public String getGainType() {
        return gainType;
    }

    public void setGainType(String gainType) {
        this.gainType = gainType;
    }

    public BigDecimal getDiscountAmount() {
        return discountAmount;
    }

    public void setDiscountAmount(BigDecimal discountAmount) {
        this.discountAmount = discountAmount;
    }

    public BigDecimal getUseRequireAmount() {
        return useRequireAmount;
    }

    public void setUseRequireAmount(BigDecimal useRequireAmount) {
        this.useRequireAmount = useRequireAmount;
    }

    public BigDecimal getReducedAmount() {
        return reducedAmount;
    }

    public void setReducedAmount(BigDecimal reducedAmount) {
        this.reducedAmount = reducedAmount;
    }

    public String getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    public Date getCreatedTime() {
        return createdTime;
    }

    public void setCreatedTime(Date createdTime) {
        this.createdTime = createdTime;
    }

    public String getLastUpdatedBy() {
        return lastUpdatedBy;
    }

    public void setLastUpdatedBy(String lastUpdatedBy) {
        this.lastUpdatedBy = lastUpdatedBy;
    }

    public Date getLastUpdatedTime() {
        return lastUpdatedTime;
    }

    public void setLastUpdatedTime(Date lastUpdatedTime) {
        this.lastUpdatedTime = lastUpdatedTime;
    }

    public Integer getSettingSort() {
        return settingSort;
    }

    public void setSettingSort(Integer settingSort) {
        this.settingSort = settingSort;
    }

    public String getSettingType() {
        return settingType;
    }

    public void setSettingType(String settingType) {
        this.settingType = settingType;
    }

    public BigDecimal getConsumeUseAmount() {
        return consumeUseAmount;
    }

    public void setConsumeUseAmount(BigDecimal consumeUseAmount) {
        this.consumeUseAmount = consumeUseAmount;
    }

    public BigDecimal getRechargeAmount() {
        return rechargeAmount;
    }

    public void setRechargeAmount(BigDecimal rechargeAmount) {
        this.rechargeAmount = rechargeAmount;
    }

    public BigDecimal getGainAmount() {
        return gainAmount;
    }

    public void setGainAmount(BigDecimal gainAmount) {
        this.gainAmount = gainAmount;
    }

}
